/******************************************************************************
* This file is part of is32p218 platform,
* Copyright (c) 2009 HangZhou InfoStrong CO.,LTD. All rights reserved.
* This software may only be used under the terms of a valid, current,
* end user license from InfoStrong.
* Nothing else gives you the right to use this software.   
*
* Name:   drv_int.h
* Desc:   IS32P218 Interrupt Control Module header file
* Author: Jerry
* Date:   2009-9-15
* Note:   
* History:
*
******************************************************************************/
#include "def.h"

#ifndef __DRV_INT_H__
#define __DRV_INT_H__

#ifdef __cplusplus
extern "C" {
#endif

/*Interrupt Vector Map Address Definitions */
//typedef void (*IntVectorFunc)(int intNum);
typedef INT_FUNC (*IntVectorFunc)(void);
//typedef unsigned int IntVectorFunc;

extern volatile IntVectorFunc pIntVectorBase[];

void drv_int_init(void);
void drv_int_gmsk_ena( BOOL flg );
BOOL drv_int_ena( U32 int_num, BOOL flg );
BOOL drv_int_stat( U32 int_num );
IntVectorFunc drv_int_isr_set( U32 int_num, IntVectorFunc p_new_vector );
void drv_int_mode_set( U32 int_num, S32 mode );
BOOL drv_int_isr_check( U32 int_num, IntVectorFunc p_vector );


#ifdef __cplusplus
}
#endif

#endif /*__INT_H__*/

